/*Copyright (c)  2010  Pablo Echeverri.
 *  Permission is granted to copy, distribute and/or modify this document
 *  under the terms of the GNU Free Documentation License, Version 1.3
 *  or any later version published by the Free Software Foundation;
 *  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
 *  A copy of the license is included in the section entitled "GNU
 *  Free Documentation License". 
 **************************************************************************************/
package data;

public class ourResearchTree extends ResearchTree
{
		
	/**************************************************************************************
	 * Author: Pablo Echeverri
	 * Research tree with values needed for iteration 2
	 **************************************************************************************/

	public ourResearchTree()
	{
		super();
		//add types to develop research for
		this.addType("Worker");
		this.addType("Explorer");
		this.addType("Range");
		this.addType("Melee");
		this.addType("Base");
		this.addType("Farm");
		this.addType("Fort");
		this.addType("Power Plant");
		this.addType("Smelter");
		this.addType("Watch Tower");
		
		//add technologies to be developed
		this.addTechnology("Worker", "Work Radius", 5, 5, 1);
		this.addTechnology("Worker", "Worker Density", 5, 5, 5);
		
		this.addTechnology("Explorer", "Visibility Radius", 5, 5, 1);
		this.addTechnology("Explorer", "Defense Strength", 5, 5, 5);
		this.addTechnology("Explorer", "Armor Strength", 5, 5, 5);
		this.addTechnology("Explorer", "Movement Rate", 5, 5, 5);
		this.addTechnology("Explorer", "Health", 5, 5, 5);
		this.addTechnology("Explorer", "Efficiency", 5, 5, 5);
		
		this.addTechnology("Range", "Visibility Radius", 5, 5, 1);
		this.addTechnology("Range", "Attack Strength", 5, 5, 5);
		this.addTechnology("Range", "Defense Strength", 5, 5, 5);
		this.addTechnology("Range", "Armor Strength", 5, 5, 5);
		this.addTechnology("Range", "Movement Rate", 5, 5, 5);
		this.addTechnology("Range", "Health", 5, 5, 5);
		this.addTechnology("Range", "Efficiency", 5, 5, 5);
		
		
		this.addTechnology("Melee", "Visibility Radius", 5, 5, 1);
		this.addTechnology("Melee", "Attack Strength", 5, 5, 5);
		this.addTechnology("Melee", "Defense Strength", 5, 5, 5);
		this.addTechnology("Melee", "Armor Strength", 5, 5, 5);
		this.addTechnology("Melee", "Movement Rate", 5, 5, 5);
		this.addTechnology("Melee", "Health", 5, 5, 5);
		this.addTechnology("Melee", "Efficiency", 5, 5, 5);
		
		this.addTechnology("Base", "Visibility Radius", 5, 5, 1);
		this.addTechnology("Base", "Attack Strength", 5, 5, 5);
		this.addTechnology("Base", "Defense Strength", 5, 5, 5);
		this.addTechnology("Base", "Armor Strength", 5, 5, 5);
		this.addTechnology("Base", "Health", 5, 5, 5);
		this.addTechnology("Base", "Efficiency", 5, 5, 5);
		this.addTechnology("Base", "Production Rate", 5, 5, 5);
		
		this.addTechnology("Farm", "Visibility Radius", 5, 5, 1);
		this.addTechnology("Farm", "Attack Strength", 5, 5, 5);
		this.addTechnology("Farm", "Defense Strength", 5, 5, 5);
		this.addTechnology("Farm", "Armor Strength", 5, 5, 5);
		this.addTechnology("Farm", "Health", 5, 5, 5);
		this.addTechnology("Farm", "Efficiency", 5, 5, 5);
		this.addTechnology("Farm", "Production Rate", 5, 5, 5);
		
		this.addTechnology("Fort", "Visibility Radius", 5, 5, 1);
		this.addTechnology("Fort", "Attack Strength", 5, 5, 5);
		this.addTechnology("Fort", "Defense Strength", 5, 5, 5);
		this.addTechnology("Fort", "Armor Strength", 5, 5, 5);
		this.addTechnology("Fort", "Health", 5, 5, 5);
		this.addTechnology("Fort", "Efficiency", 5, 5, 5);
		this.addTechnology("Fort", "Production Rate", 5, 5, 5);
		
		this.addTechnology("Power Plant", "Visibility Radius", 5, 5, 1);
		this.addTechnology("Power Plant", "Attack Strength", 5, 5, 5);
		this.addTechnology("Power Plant", "Defense Strength", 5, 5, 5);
		this.addTechnology("Power Plant", "Armor Strength", 5, 5, 5);
		this.addTechnology("Power Plant", "Health", 5, 5, 5);
		this.addTechnology("Power Plant", "Efficiency", 5, 5, 5);
		this.addTechnology("Power Plant", "Production Rate", 5, 5, 5);
		
		this.addTechnology("Smelter", "Visibility Radius", 5, 5, 1);
		this.addTechnology("Smelter", "Attack Strength", 5, 5, 5);
		this.addTechnology("Smelter", "Defense Strength", 5, 5, 5);
		this.addTechnology("Smelter", "Armor Strength", 5, 5, 5);
		this.addTechnology("Smelter", "Health", 5, 5, 5);
		this.addTechnology("Smelter", "Efficiency", 5, 5, 5);
		this.addTechnology("Smelter", "Production Rate", 5, 5, 5);
		
		this.addTechnology("Watch Tower", "Visibility Radius", 5, 5, 1);
		this.addTechnology("Watch Tower", "Attack Strength", 5, 5, 5);
		this.addTechnology("Watch Tower", "Defense Strength", 5, 5, 5);
		this.addTechnology("Watch Tower", "Armor Strength", 5, 5, 5);
		this.addTechnology("Watch Tower", "Health", 5, 5, 5);
		this.addTechnology("Watch Tower", "Efficiency", 5, 5, 5);
		this.addTechnology("Watch Tower", "Production Rate", 5, 5, 5);
		
		
		
	}
	public int getProductionRate(String tech)
	{
		return this.getTechnology(tech, "Production Rate").getImprovement();
	}
}
